/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */
package byblos.apresentacao.site;

import byblos.apresentacao.idioma.InterceptadorIdioma;
import byblos.negocio.Idioma;
import byblos.negocio.galeria.FotoGaleria;
import byblos.negocio.galeria.GaleriaPhotopress;
import byblos.negocio.tela.FabricaTela;
import byblos.negocio.tela.Tela;
import byblos.negocio.tela.TipoTela;
import byblos.persistencia.DAO;
import java.util.LinkedList;
import java.util.List;
import org.vraptor.annotations.Component;
import org.vraptor.annotations.In;
import org.vraptor.annotations.InterceptedBy;
import org.vraptor.annotations.Logic;
import org.vraptor.annotations.Out;

/**
 *
 * @author Diego
 */
@Component
@InterceptedBy(InterceptadorIdioma.class)
public class SiteGaleriaComponent {

    @In
    private Idioma idioma;
    @Out
    private List<GaleriaPhotopress> galerias;
    @Out
    private GaleriaPhotopress galeria;
    @Out
    private String style;
    @Out
    private String display;
//    @Out
//    private List<List<FotoGaleria>> tabela;

    public void visualizar() {
        Tela tela = FabricaTela.getTela(TipoTela.PHOTOPRESS, idioma, null);
        display = tela.getDisplay();
        galerias = new DAO().listar(GaleriaPhotopress.class);
        int quantidadeGalerias = galerias.size();
        if (quantidadeGalerias > 0) {
            galeria = galerias.get(quantidadeGalerias - 1);
            calcularDimensoes(galeria);
        }
    }

    @Logic(parameters = "id")
    public void carregar(int id) {
        Tela tela = FabricaTela.getTela(TipoTela.PHOTOPRESS, idioma, null);
        display = tela.getDisplay();
        galeria = new DAO().localizar(GaleriaPhotopress.class, id);
        galerias = new DAO().listar(GaleriaPhotopress.class);
        calcularDimensoes(galeria);
    }

    private void calcularDimensoes(GaleriaPhotopress galeria) {
        if (galeria == null) {
            System.out.println("Galeria null=====");
        } else {
            System.out.println("GALERIA COM FOTOS" + galeria.getId());
            System.out.println(galeria.getFotos().size());
        }
        int totalFotos = galeria.getQuantidadeFotos();
        int dimensao = 0;
        if (totalFotos <= 20) {
            if (totalFotos <= 5) {
                dimensao = 82;
            } else if (totalFotos <= 10) {
                dimensao = 82 * 2;
            } else if (totalFotos <= 15) {
                dimensao = 82 * 3;
            } else {
                dimensao = 82 * 4;
            }
            style = "style=\"width:" + dimensao + "px; height:475px;\"";
        } else {
            style = "style=\"width:328px;\"";
        }
    }
}
